﻿package app.view.managers 
{
	import app.model.types.SectionType;
	import app.model.vo.SectionVO;
	import app.view.components.sections.Section;
	import flash.display.Sprite;
	
	/**
	 * Менеджер для попапов
	 * @author www
	 */
	public class PopupManager extends Sprite
	{
		private var _currentSection:Section;
		
		public function PopupManager() 
		{
			
		}
		
		public function change(sectionVO:SectionVO):void 
		{
			trace('PopupManager : ' + sectionVO.id);
			
			if ( _currentSection ) 
			{
				//_currentSection.destroy();
				_currentSection.onDestroy();
			};
			
			if ( !sectionVO) return;
			_currentSection = getSectionInstance(sectionVO.id);
			if ( !_currentSection ) return;
			// инициализируем
			_currentSection.alpha = 0;
			_currentSection.open();
			_currentSection.data = sectionVO;
			addChild(_currentSection);
		};
		
		public function clearCurrentSection():void
		{
			_currentSection.destroy();
			//_currentSection.onDestroy();
			_currentSection = null;
		}
		
		/**
		 * опеределяется конкретный экземпляр секции, по входном id
		 */
		private function getSectionInstance(section_id:String):Section
		{
			var result:Section;
			
			switch (section_id) 
			{
				
				///*
				
				
				// попап для интервью победителей
				case SectionType.POPUP_CHILDREN_WINER_INTERVIEW: 
					result = new PopupChildrenWinerInterviewM();
				break;
				
				// 1.1.2.2.2 УКАЗАТЕЛЬ ОБЪЕКТОВ
				case SectionType.POPUP_EXPO_OBJECTS: 
					result = new PopupExpoObjectsM();
				break;
				
				// 
				case SectionType.POPUP_EXPO_FIVE_EXPOSITION: 
					result = new PopupExpoFiveExpositionD();
				break;
				
				//*/
			}
			
			return result;
		}
	}

}